/*
 * Copyright (c) 2001 Sun Microsystems, Inc.  All rights
 * reserved.
 *
 * Redistribution and use in source and binary forms, with or without
 * modification, are permitted provided that the following conditions
 * are met:
 *
 * 1. Redistributions of source code must retain the above copyright
 *    notice, this list of conditions and the following disclaimer.
 *
 * 2. Redistributions in binary form must reproduce the above copyright
 *    notice, this list of conditions and the following disclaimer in
 *    the documentation and/or other materials provided with the
 *    distribution.
 *
 * 3. The end-user documentation included with the redistribution,
 *    if any, must include the following acknowledgment:
 *       "This product includes software developed by the
 *       Sun Microsystems, Inc. for Project JXTA."
 *    Alternately, this acknowledgment may appear in the software itself,
 *    if and wherever such third-party acknowledgments normally appear.
 *
 * 4. The names "Sun", "Sun Microsystems, Inc.", "JXTA" and "Project JXTA" must
 *    not be used to endorse or promote products derived from this
 *    software without prior written permission. For written
 *    permission, please contact Project JXTA at http://www.jxta.org.
 *
 * 5. Products derived from this software may not be called "JXTA",
 *    nor may "JXTA" appear in their name, without prior written
 *    permission of Sun.
 *
 * THIS SOFTWARE IS PROVIDED ``AS IS'' AND ANY EXPRESSED OR IMPLIED
 * WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES
 * OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
 * DISCLAIMED.  IN NO EVENT SHALL SUN MICROSYSTEMS OR
 * ITS CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
 * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
 * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF
 * USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
 * ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
 * OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT
 * OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
 * SUCH DAMAGE.
 * ====================================================================
 *
 * This software consists of voluntary contributions made by many
 * individuals on behalf of Project JXTA.  For more
 * information on Project JXTA, please see
 * <http://www.jxta.org/>.
 *
 * This license is based on the BSD license adopted by the Apache Foundation.
 *
 * $Id: Metadata.java,v 1.1 2005/05/03 06:30:09 hamada Exp $
 */
package net.jxta.codat;

import java.io.IOException;

import net.jxta.peergroup.PeerGroupID;
import net.jxta.document.Document;
import net.jxta.codat.CodatID;

/**
 * This class represents a <b>metadata</b> Codat. Medata Codats are special
 * codats that contain information about another codats. Multiple medata
 * codats can refer to the same codat.  Medata codats can hold any kinds
 * of information about a codat, such as a symbolic name, description,
 * index and seraching information, etc.
 *
 * <p> Codats are JXTA objects that can hold both data or code. The core
 * platform API is making available the Codat APIs to JXTA services and
 * applications as a placeholder for all contents they are
 * manipulating. The Core is not making any references to this class. The
 * Codat class is offered as a standard way for applications and services
 * to exchange any kinds of contents.
 *
 * @see     net.jxta.codat.Codat
 * @see     net.jxta.codat.CodatID
 * @see     net.jxta.document.Document
 * @see     net.jxta.document.StructuredDocument
 * @see     net.jxta.document.StructuredTextDocument
 *
 **/
public class Metadata extends Codat {
    
    /**
     * Construct a new Codat with a new CodatId given a PeerGroupID
     * and a document.
     *
     *  @param  groupID   the group to which this metadata will be published
     *  @param about metadata for which this Codat is metadata
     *  @param  document doc held by this codat.
     *  @throws IOException if there is an error accessing the document.
     **/
    public Metadata(PeerGroupID groupID, CodatID about,
    Document document) throws IOException {
        super(groupID, about, document);
    }
    
    /**
     *  Construct a new Metadata instance from parameters for an existing Codat,
     *  a CodatID and a document.
     *
     *  @param id CodatId of the new codat
     *  @param about CodatId for which this is a codat
     *  @param document Document hold by this codat
     **/
    public Metadata(CodatID id, CodatID about, Document document) {
        super(id, about, document);
    }
}
